Online learning monitor

ABSTRACT

Content is transferred from one computer resource to another computer resource by receiving a first insertion point or replacement area from a first user interface to a destination computer resource, receiving an enablement to perform automatic paste operation, switching to a user interface to a source computer resource, receiving a user selection of content from said source user interface, and automatically copying the selected content to a transfer buffer and to the designated insertion point(s) in the destination computer resource. Each time source content is selected, a number of source reference data items such as author, publication date, and source file name or network address are captured and stored. The stored source reference identifies may then be used to automatically generate a monitor report containing this information, which is then provided to an online learning administrator or instructor.

CROSS-REFERENCE TO RELATED APPLICATIONS CLAIMING BENEFIT UNDER 35 U.S.C.120

This application is related to U.S. patent application Ser. No.10/455,159, docket number AUS920030289US1, filed on Jun. 5, 2003, byYen-Fu Chen.

FEDERALLY SPONSORED RESEARCH AND DEVELOPMENT STATEMENT

This invention was not developed in conjunction with any Federallysponsored contract.

MICROFICHE APPENDIX

Not applicable.

INCORPORATION BY REFERENCE

Related U.S. patent application Ser. No. 10/455,159, docket numberAUS920030289US1, filed on Jun. 5, 2003, by Yen-Fu Chen, is incorporatedby reference in its entirety, including figures, to the presentdisclosure.

FIELD OF THE INVENTION

This invention relates to the arts of computer user interfaces and dataexchange between program entities such as instances of programs in amulti-tasking computer system. This invention relates especially tocomputer methods for transferring information from one file to another.

BACKGROUND OF THE INVENTION

Modern multi-tasking computers provide a variety of user interfaces forcontrolling multiple application programs and system functions whichoperate simultaneously. Some of the most widely used multi-taskingcomputer systems are personal computers (“PC”) running a multi-taskingoperating system (“OS”) such as International Business Machines' (“IBM”)OS/2 [TM] or AIX [TM], Microsoft Windows [TM], and Apple Computer'sMacOS [TM]. Other operating systems may be used with personal computersas well as larger computers such as enterprise-class computers, such asUNIX, Sun Microsystems' Solaris [TM], Hewlett Packard's HP-UX [TM], andthe “open sourced” LINUX. Smaller computing platforms such as held-heldcomputers, personal digital assistants (“PDA”), and advanced wirelesstelephones may run operating systems targeted for such hardwareincluding Palm Computing's PalmOS [TM] and Microsoft's Windows CE [TM].Additionally, there are many “proprietary” and less widely-usedcomputing platforms and operating systems which also allow users tocontrol and run multiple programs and system functions simultaneously.

Many of these systems will use tabs, icons, windows, frames, pages andspecial key combinations to allow a user to switch between userinterfaces (“UI”) for each program and system function which is beingexecuted, or to start or stop the execution of a program or systemfunction. For example, in a personal computer running MS Windows [TM],the user may first start a web browser program running using severalmethods (e.g. double clicking an icon on the desktop, selecting theprogram from a Start Programs list, operating a “hot key”, etc.), andthen may start a document editor program using similar methods. Eachprogram establishes a user interface such as its own “window”. The usercan then control a program by selecting its window using one of severalavailable methods, such as selecting a button or icon on a command bar,activating a “task list” and selecting a program, etc. As a result, auser can start and run many programs simultaneously, periodicallyswitching between their user interfaces to accomplish work orentertainment tasks as needed. Other computing systems provide similarbasic user control capabilities, albeit with a variety of user controlsto switch between programs and system functions.

Users often wish to copy or transfer information or “content” from oneprogram or system function to another. For example, a user may bepreparing an invoice for a client using a word processor program, butmay also be simultaneously using a database or spreadsheet program toperform various calculations. Using “copy and paste” functions of theapplication programs and the operating system, the user may selectinformation from a source program (e.g. the spreadsheet), and “paste” itinto the destination program (e.g. the invoice being edited). Such aprocess is so common place in computer users' daily lives that it isrote, albeit each user may know several sequences of actions for severalcomputers which he or she commonly uses (e.g. one process on his homePC, another on his PDA, and another on his networked terminal at work).These memorized methods may typically include several steps of clickingon icons, dropping down lists, highlighting information, and usingnavigation controls within program UI's.

For example, turning to FIG. 1, a “windows” style user interface isdepicted to illustrate a process of “copying” information from a webbrowser program to a word processor file via a “clipboard” memory. Inthis system, each program provides a window (2, 3, 104) which can beclosed (9, 9′) to end the program, maximized (8, 8′) to view the full UIfor that program, or minimized (7, 7′) to leave the program running butdeactive the UI (e.g. clear the UI window from the screen). In thisexample, these controls are located in a command bar (4, 4′) along thetop of the UI window, but many other variations are known in the art.

Each UI window also typically has navigation controls such as leftpanning (15, 15′), right panning (13, 13′), and horizontal scroll (14,14′) controls, as well as up panning (10, 10′), down panning (12, 12′),and vertical scroll (11, 11′), for viewing areas of information andcontent not completely viewable in the UI. Information, icons, text,graphics, etc., are shown or displayed within (16, 18) the UI windowaccording to the scroll and panning control settings. More recently, theterm “content” (16, 18) has been used to collectively refer to all typesof information which may be displayed or presented in a user interface,including but not limited to text, graphics, still images, animatedimages, video, audio, and hyperlinks.

Now suppose for the purpose of our example, the user has started a wordprocessing program which provides a first UI window (2), and a webbrowser which provides a second UI window (3). Also suppose that theuser is researching information on the Internet using the web browserwhile authoring a paper which is being edited simultaneously using theword processor.

In this example, the user has found information (19) at a hypotheticalweb address (17) that he wants to “quote” in his or her paper. So, theuser must first move the cursor (104) in the word processor to select aninsertion point for the information, then must switch to the web browserUI, select the text (19) in the source content, operate a “copy” commandin the web browser UI which copies (101) the content into a buffer (100)such as a “clipboard”, switch back to the word processor UI, and operatea “paste” or “insert” command, which results in the copied content (19)being inserted into the destination document at the point of insertion(103). The user can repeat this process for many different program UI's(106).

In some software and hardware configurations, the copy buffer may beprovided within a suite of application programs which are “tightlycoupled” or related. Such suites cooperate with each other in ways notpossible with software programs provided by differing suppliers. In manycases, however, the operating system provides a buffer function which isgenerally accessible by all programs, such as the clipboard in the MSWindows [TM] operating system.

Also, in some situations, the original content with its original formatmay not be acceptable by the destination program, and as such, aspecialized paste or insertion function (105) may be provided by thedestination program or operating system which converts the content to aform useful by the destination program. For example, text copied from aweb page may include color, size, font, style, and hyperlink referenceinformation embedded in the base Hyper Text Markup Language (“HTML”) ofthe source web page. However, not all word processors are able tointerpret all of these special codes and identifiers, so a “paste asplain text” option may be provided by a converter or translator (105)function.

So, to illustrate the complexity and tedious nature of such ordinaryoperations, we present the steps in full to accomplish this examplescenario of simply transferring a block of formatted text from a webpage to a word processor program, starting from a point where the useris editing the destination document in the word processor:

-   -   (a) navigate to the insertion point in the destination document        using the word processor UI window controls (e.g. multiple        clicks on scroll, panning or page up/page down keys);    -   (b) optionally select text or content in the destination        document which is to be replaced;    -   (c) switch to the web browser UI window (e.g. click on an icon        in a task bar, activate a task list and pick a running web        browser program, etc.);    -   (d) navigate in the web browser UI window to find the text or        content desired to be transferred into the document (e.g. use        panning, scrolling, or page up/page down keys);    -   (e) select the source content or text (e.g. click-and-drag over        the content to highlight it);    -   (f) transfer the content to a copy buffer (e.g. click on “Edit”        command, select “copy” option or type Alt-E, Alt-C);    -   (g) switch back to the word processor UI window (e.g. (e.g.        click on a icon in a task bar, activate a task list and pick a        running web browser program, etc.); and    -   (h) operate a “paste” command in the word processor UI window        (e.g. click on “Edit” command, select “paste” option or type        Alt-E, Alt-P).

Each of these operations may actually require several steps (clicking,scrolling, selecting, typing, etc.), so this minimal process mayrepresent 7 to 25 actual user actions. This process must be repeated foreach block of text or content to be transferred from multiple program UIwindows (106), and additional steps may be necessary to achieve a“special paste”, as described above. Also, if the same text or contentis to be inserted into the destination document for file at multiplelocations, the last few operations of this process (h) in addition tosome navigation actions must by performed by the user.

As a result, consolidating information from multiple sources ofinformation may be extremely tedious, frustrating, and tiresome usingthe currently available methods and apparatuses provided in suchcomputing systems. Some systems may provide notably more “user friendly”or intuitive methods, while other systems are much more difficult and“clunky” to use.

Turning to FIG. 2, this process is generalized. Starting at a point ortime (21) when the user is actively working with the destination programUI, the user must navigate (22) within the present document, file, orother computer resource to a point where the content insertion is to bemade, including selecting any content which is to be replaced. Then, theuser must switch (23) to the UI of the first source of information,navigate (24) to the first source content to be transferred, select thatcontent, and operate (25) a copy or cut control in the first source UI.

Next, the user must switch (26) back to the destination UI, and operate(27) an insert or paste command in that UI. If (28) the user wants toinsert or paste that content into multiple destinations, the user mustnavigate (29) to each destination and operate (27) the paste or insertcommand in the destination program UI, until all insertions have beenmade for that source information.

If (200) the user desires to transfer information from other points inthe same source, or from other sources, the user must repeatedly switch(201) to a source UI, navigate to a source content point, select sourceinformation, operate (25) a copy or cut operation, switch (26) back tothe destination UI, and paste or insert (27) the content, until allinformation has been transferred.

Implied, but not shown in detail, in this generalization of the processcan be multiple user actions for each general step. Optionally, optionssuch as translation or conversion of the content may be necessary, whichrequires additional user actions (e.g. the “paste as plain text”example).

So, it is not inconceivable that in the course of authoring a paperusing a word processor and information from several sources, the usermay have to perform hundreds of tedious actions, commands, selections,navigation operations, etc.

In this paradigm, certain conventions have evolved into place which onlymoderately simplify or reduce the burden of such operations. Forexample, performing a “cut” operation usually deletes the selectedsource content from the source file, and places a copy of it into thetransfer buffer, sometimes overwriting the current contents of thetransfer buffer. A “copy” operation typically leaves the selectedinformation unchanged in the source and only places a copy of theinformation in the transfer buffer. Additionally, in the destination UI,a “paste” or “insert” command may copy the contents of transfer bufferto a selected point in the destination document or file, leaving a copyin the transfer buffer for additional pastes or insertions.

In some programs, a “paste special”, “import from clipboard”, or similarcommand may be available with several translation options to perform aminimal conversion process on each transfer. However, even though theuser may be performing the same “paste special” command over and over,the typical UI does not memorize or “learn” this process, so the user isforced to respond to a number of redundant options and dialogs on eachpaste operation.

The same user interface conventions are followed by many computersystems not only for content or information within a computer resourcesuch as text and graphics within a file, but also for resources (e.g.files, shortcuts, icons, mappings, etc.) within a computing environment(e.g. file system, directories, folders, etc.). For example, whenworking with a MS Windows [TM] operating system and running the WindowsExplorer program, a user may select a file, directory or folder to move,execute an “Edit-Cut” command sequence, navigate to another directory ordrive, and execute an “Edit-Paste” command to move the selected resourceto the new destination. Similarly, by selecting the source resource,executing a copy command, and then executing a paste command to one ormore destinations, the original resource is not changed but copies of itare deposited at the destination points. Further, by selecting andcopying a source resource, then selecting a destination resource,replacement of the destination resource may be accomplished.

As such, editing tools which are available can be used to readily copyinformation from one computer source to another, which enables a user toquickly and easy compile an original document, paper, or article whichcontains verbatim quotes from a plurality of sources such as web sites,word processor files, etc.

When incorporating such information from sources other than the authorhimself or herself, it is customary to note the source of the quotedinformation an a manner such as a footnote, and end note, or an entry ina bibliography or table of references.

Many word processors have facilities for allowing a user to mark text ina document, enter information regarding the source of the information,and automatically generating an end note, footnote, or table entry basedon the information provided by the user. While this automatic referencenote generation function greatly simplifies the task of creating thenotes and placing them in the proper places in the document (e.g. at thefoot of a page where the passage is reprinted), it has two problems.First, it requires the user to take careful notes as to the source ofthe quoted information, such as a file or web site address. Second, itrelies upon the integrity of the author to properly identify the sourceof the information.

Because cutting and pasting between one online source of information toanother is so easy to do with word processors, web browsers, etc., itposes a special problem for online learning systems, as well. Forexample, consider a situation where a student is taking a test onlinethrough a distance learning arrangement, and that one portion of thetest requires the student to author a short essay. In one manner ofadministrating the test, the student may be provided an HTML web form inwhich there is a box to type his or her essay composition, with the formbeing transmitted by HTTP to an instructor for grading. In anothermanner of administering the test, the student may be allowed to use aword processor to author a short paper for the essay, and to email thepaper to the instructor for grading.

In both of these test administration scenarios, and in many variants ofthem, it is difficult for the instructor to know or determine if thestudent has improperly plagiarized information contained in his or heranswer by cutting and pasting from other computer sources (e.g. cuttingand pasting information from an online encyclopedia or web site into theform field or the word processor document).

SUMMARY OF THE INVENTION

Users are enabled to cut and paste information from a plurality ofsources to one or more destinations in a more convenient manner, aspreviously described in the related patent application, whilesimultaneously automatically collecting the source reference information(e.g. author, time, date, file name, document name, web site address,etc.) for each information item transferred into the destination(s). Thepresent invention can then supply this collected source referenceinformation to word processor functions which automatically generate endnotes, foot notes, table of reference entries, and bibliography entries,thereby allowing the user to more easily and accurately produce suchreference notes. According to another aspect of the present invention,the composition which has been created by inclusion of one or moretracked sources of information may be automatically updated or“refreshed” by the invention through accessing the original points ofsource information elements and transferring them into the compositionas previously performed, except with current or fresh information fromthe sources.

Additionally, in another manner of use and operation, an administratorof an online learning experience such as a test or assignment isprovided with an automatically generated report of quoted sourcereference information from a student who has cited or quoted informationfrom an online source through cut-and-paste or copy operations. Thestudent may or may not be aware of the monitoring and reporting of hisor her information transfer activities, according to options of theinvention. Similarly to the collection of footnote and end noteinformation which is performed during the cutting and pastingoperations, the same source reference information is collected duringcompletion of an online learning activity and used to generate a reportwhich is then provided to the administrator of the online learningactivity. This information can allow the administrator to determine ifthe student has violated a rule of conduct through disallowedplagiarism, or has not fully disclosed the sources of his or herinformation in situations where quoting of other parties is allowed.

BRIEF DESCRIPTION OF THE DRAWINGS

The following detailed description when taken in conjunction with thefigures presented herein provide a complete disclosure of the invention.

FIG. 1 illustrates the typical user interfaces and system actions of“cutting and pasting” information from one application program toanother.

FIG. 2 shows the typical logical process in a general manner fortransferring content from one application program or system function toanother.

FIG. 3 depicts a generalized computing platform architecture, such as apersonal computer, server computer, personal digital assistant,web-enabled wireless telephone, or other processor-based device.

FIG. 4 shows a generalized organization of software and firmwareassociated with the generalized architecture of FIG. 1.

FIG. 5 illustrates our process of collecting source referenceinformation during copying, cutting and pasting, and similar informationtransfer operations, which is then used to automatically generateaccurate and complete reference notes.

FIG. 6 illustrates our process of automatically refreshing or updatingquoted information from their original sources or references.

FIG. 7 depicts our process of collecting source reference informationduring copying, cutting and pasting, and similar information transferoperations, which is then used to automatically generate a monitorreport for use in online learning experiences.

FIG. 8 provides a logical process illustrating the automatic referencenoting operations as shown in FIG. 5.

FIG. 9 provides a logical process illustrating the online learningmonitor operations as shown in FIG. 5.

DESCRIPTION OF THE INVENTION

The present invention is preferrably realized as computer-executablecode such as compiled software, scripts, or portable programs, inconjunction with existing application programs, operating systems, andcomputer hardware. For purposes of completeness, we first present ageneralized view in FIGS. 3 and 4 of typical computer hardware andsoftware which is suitable for realization of our invention. Manyvariations of these computer platform details may be made withoutdeparting from the scope of the invention, as will be readily recognizedby those skilled in the art.

Common computing platforms such as personal computers, web servers, andweb browsers, as well as proprietary computing platforms, may be used inrealization of the present invention. These common computing platformscan include, but are not limited to, personal computers as well asportable computing platforms, such as personal digital assistants(“PDA”), web-enabled wireless telephones, and other types of personalinformation management (“PIM”) devices.

Therefore, it is useful to review a generalized architecture of acomputing platform which may span the range of implementation, from ahigh-end web or enterprise server platform, to a personal computer, to aportable PDA or web-enabled wireless phone.

Turning to FIG. 3, a generalized architecture is presented including acentral processing unit (31) (“CPU”), which is typically comprised of amicroprocessor (32) associated with random access memory (“RAM”) (34)and read-only memory (“ROM”) (35). Often, the CPU (31) is also providedwith cache memory (33) and programmable FlashROM (36). The interface(37) between the microprocessor (32) and the various types of CPU memoryis often referred to as a “local bus”, but also may be a more generic orindustry standard bus.

Many computing platforms are also provided with one or more storagedrives (39), such as a hard-disk drives (“HDD”), floppy disk drives,compact disc drives (CD, CD-R, CD-RW, DVD, DVD-R, etc.), and proprietarydisk and tape drives (e.g., Iomega Zip [TM] and Jaz [TM], AddonicsSuperDisk [TM], etc.). Additionally, some storage drives may beaccessible over a computer network.

Many computing platforms are provided with one or more communicationinterfaces (310), according to the function intended of the computingplatform. For example, a personal computer is often provided with a highspeed serial port (RS-232, RS422, etc.), an enhanced parallel port(“EPP”), and one or more universal serial bus (“USB”) ports. Thecomputing platform may also be provided with a local area network(“LAN”) interface, such as an Ethernet card, and other high-speedinterfaces such as the High Performance Serial Bus IEEE-1394.

Computing platforms such as wireless telephones and wireless networkedPDA's may also be provided with a radio frequency (“RF”) interface withantenna, as well. In some cases, the computing platform may be providedwith an infrared data arrangement (IrDA) interface, too.

Computing platforms are often equipped with one or more internalexpansion slots (311), such as Industry Standard Architecture (ISA),Enhanced Industry Standard Architecture (EISA), Peripheral ComponentInterconnect (PCI), or proprietary interface slots for the addition ofother hardware, such as sound cards, memory boards, and graphicsaccelerators.

Additionally, many units, such as laptop computers and PDA's, areprovided with one or more external expansion slots (312) allowing theuser the ability to easily install and remove hardware expansiondevices, such as PCMCIA cards, SmartMedia cards, and various proprietarymodules such as removable hard drives, CD drives, and floppy drives.

Often, the storage drives (39), communication interfaces (310), internalexpansion slots (311) and external expansion slots (312) areinterconnected with the CPU (31) via a standard or industry open busarchitecture (38), such as ISA, EISA, or PCI. In many cases, the bus(38) may be of a proprietary design.

A computing platform is usually provided with one or more user inputdevices, such as a keyboard or a keypad (316), and mouse or pointerdevice (317), and/or a touch-screen display (318). In the case of apersonal computer, a full size keyboard is often provided along with amouse or pointer device, such as a track ball or TrackPoint [TM]. In thecase of a web-enabled wireless telephone, a simple keypad may beprovided with one or more function-specific keys. In the case of a PDA,a touch-screen (318) is usually provided, often with handwritingrecognition capabilities.

Additionally, a microphone (319), such as the microphone of aweb-enabled wireless telephone or the microphone of a personal computer,is supplied with the computing platform. This microphone may be used forsimply reporting audio and voice signals, and it may also be used forentering user choices, such as voice navigation of web sites orauto-dialing telephone numbers, using voice recognition capabilities.

Many computing platforms are also equipped with a camera device (3100),such as a still digital camera or full motion video digital camera.

One or more user output devices, such as a display (313), are alsoprovided with most computing platforms. The display (313) may take manyforms, including a Cathode Ray Tube (“CRT”), a Thin Flat Transistor(“TFT”) array, or a simple set of light emitting diodes (“LED”) orliquid crystal display (“LCD”) indicators.

One or more speakers (314) and/or annunciators (315) are oftenassociated with computing platforms, too. The speakers (314) may be usedto reproduce audio and music, such as the speaker of a wirelesstelephone or the speakers of a personal computer. Annunciators (315) maytake the form of simple beep emitters or buzzers, commonly found oncertain devices such as PDAs and PIMs.

These user input and output devices may be directly interconnected (38′,38″) to the CPU (31) via a proprietary bus structure and/or interfaces,or they may be interconnected through one or more industry open busessuch as ISA, EISA, PCI, etc.

The computing platform is also provided with one or more software andfirmware (3101) programs to implement the desired functionality of thecomputing platforms.

Turning to now FIG. 4, more detail is given of a generalizedorganization of software and firmware (3101) on this range of computingplatforms. One or more operating system (“OS”) native applicationprograms (43) may be provided on the computing platform, such as wordprocessors, spreadsheets, contact management utilities, address book,calendar, email client, presentation, financial and bookkeepingprograms.

Additionally, one or more “portable” or device-independent programs (44)may be provided, which must be interpreted by an OS-nativeplatform-specific interpreter (45), such as Java [TM] scripts andprograms.

Often, computing platforms are also provided with a form of web browseror microbrowser (46), which may also include one or more extensions tothe browser such as browser plug-ins (47).

The computing device is often provided with an operating system (40),such as Microsoft Windows [TM], UNIX, IBM OS/2 [TM], LINUX, MAC OS [TM]or other platform specific operating systems. Smaller devices such asPDA's and wireless telephones may be equipped with other forms ofoperating systems such as real-time operating systems (“RTOS”) or PalmComputing's PalmOS [TM].

A set of basic input and output functions (“BIOS”) and hardware devicedrivers (41) are often provided to allow the operating system (40) andprograms to interface to and control the specific hardware functionsprovided with the computing platform.

Additionally, one or more embedded firmware programs (42) are commonlyprovided with many computing platforms, which are executed by onboard or“embedded” microprocessors as part of the peripheral device, such as amicro controller or a hard drive, a communication processor, networkinterface card, or sound or graphics card.

As such, FIGS. 3 and 4 describe in a general sense the various hardwarecomponents, software and firmware programs of a wide variety ofcomputing platforms, including but not limited to personal computers,PDAs, PIMs, web-enabled telephones, and other appliances such as WebTV[TM] units. As such, we now turn our attention to disclosure of thepresent invention relative to the processes and methods preferablyimplemented as software and firmware on such a computing platform. Itwill be readily recognized by those skilled in the art that thefollowing methods and processes may be alternatively realized ashardware functions, in part or in whole, without departing from thespirit and scope of the invention.

We now turn our attention to description of the method of the inventionand it's associated components. In general, the present inventionprovides the user the ability to follow this process:

-   -   1. Declare destination content area for pasting or insertion in        a destination UI;    -   2. Enable highlighting or selecting content to automatic copy        selected information and store it in memory (e.g.        buffer/clipboard) for future usage, as well as to automatically        insert or paste the selected information into the pre-designated        destination area;    -   3. Switch to source UI's, and simply highlight or select the        desired content portion(s) which triggers dynamic        insertion/concatenation into the declared content field.

Using the present invention, advantages over presently available methodsand user interfaces are:

-   -   1. User-friendly: the invention utilizes maneuvering techniques        with which users are already familiar, such as double mouse        clicks, dragging to highlight, etc.;    -   2. Convenient: the invention provides a user a new way of        selecting destination for paste operations, and offers a quicker        way of copy/paste by eliminating keyboard strokes, mouse clicks,        navigation and toggling between different program windows and        UI's.

3. Intuitive: Users can learn or “discover” that in this new mode,content highlighting triggers copy/paste effortlessly, immediatelyseeing the results of the highlighting action, and proceeding toexperiment with various ways of applying and exploring this invention.

4. Time-Saving: Reduces time to compile information from multiplesources by making copy-paste user interface methods much more efficient.

5. Increases productivity: By reducing fatigue and tediousness inapplication program user interfaces, users are allowed to produce moreaccurate results with less effort in less time.

Turning now to FIG. 5, our process (50) of collecting and recording (51)information regarding the source for each information elementtransferred from a source to the transfer buffer is shown. In thisexample, the information element is a text string (19), which is beingtransferred from a web browser window (3) pointed to an address (17)www.123.com. The source reference recorder (51) intercepts the transferof the selected information elements on their way from the source to theclipboard or transfer buffer, and records the system date and time (57),user identification (58), and a source indicator (56) such as a filename, path name, URL or address. The user ID (58) can be obtainedthrough a number of conventional means, such as having the user log intothe machine or accessing a user profile through an operating systemcall. The system date and time (57) can also be obtained through anumber of conventional means, including making an operating systemfunction call or maintaining an internal clock and date value.Information can also be parsed from source code or obtained from sessionobjects, cookies, etc.

The source indicator (56) can also be obtained through severalconventional means, such as by implementing or querying an ObjectLinking Environment (“OLE”) link, examining HTML meta tags, XML headerinformation, PDF file header information, proprietary document embeddedauthorship and file indicators (e.g. MS Word author fields, creationdates, etc.). The source author (if available) and publication date canbe obtained through similar means, as well.

Table 1 shows an example source reference record corresponding to thisexample transfer, recorded in an eXtensible Markup Language (“XML”)style format. Records can be made in a variety of alternate formats, aswell, such as text, binary, database entries, etc. TABLE 1 Example XMLSource Reference Record <source_reference> <from> www.123.com </from><source_author> Jim Smith </source_author> <source_pub_date> Dec. 19,2001 </source_pub_date> <source_content> Qwerty utrew zxf</source_content> <date_of_copy> April 15, 2004 </date_of_copy><time_of_copy> 18:36:03 </time_of_copy> <user> Danny </user><destination> page 1, line 8, “my_essay.doc” </destination></source_reference>

These records of reference information are stored (54), preferably in asimple database structure such as an IBM DB2 structure, and are providedto a reference note generator (55), such as an footnote, end note, tableof reference, or bibliography tool associated with a word processor.Alternatively, the reference note generator (55) may be provided as astandalone utility program. The information shown in Table 1 can beformatted in a variety of ways according to the intended use, andaccording to a custom or standard style manual such as Turabian's Manualfor Writers or the Chicago Manual of Style, or such as profession andindustry-specific style guides including the Publication Manual of theAmerican Psychological Association, the MLA Handbook for Writers ofResearch Papers, or the American Medical Association Manual of Style.

For this example, a “Chicago” style foot note may be created to read asfollows:

-   -   ¹Smith, Jim. 2001. Available from World Wide Web:        <http://www.123.com>

Turning to FIG. 8, our logical process for capturing and recordingsource reference information is shown at a high level. This method maybe implemented as compiled code, scripts, or interpretable code (e.g.Java, applets, servlets, etc.) in full or part within applicationprograms, operating systems, server suites, utility programs, orproprietary code or hardware.

While creating or editing a computer resource such as a computer file ordocument, when a user wishes to insert or copy content from a sourcedestination to the resource being edited, the system executes theprocess (80) shown. The source or sources may include points and areaswithin UI's of other programs and system functions, as well as withinthe destination resource which is being created or edited.

Initially, the user may navigate (81) to a first insertion point andoptionally highlight an insertion area to designate a first “paste”destination while in the current (destination) UI. If (82) more than oneinsertion points or areas are desired, the user may navigate to andselect (83) additional destinations while still in the destination UI.Insertion points can be marked in a variety of ways, including placementof a graphical icon such as a caret (“{circumflex over ( )}”) at theinsertion point(s) or other suitable icon. Replacement destination areascan be marked in a variety of ways, including highlighting the selectedtext, graphics, information, or content in a special pattern, color, orboth, or by making special changes to the selected information itself(e.g. changing the text to a different color, underlining the text,etc.). Preferably, a user interface or dialog box is also provided toallow the user to manage destination insertion points and replacementareas, such as to create additional points and areas, and to removepoints and areas.

When all destination points and areas have been designated, the userenables (84) the automatic content transfer function of the inventionthrough an appropriate user control such as right-clicking with themouse to bring up a dialog box, selecting an option from a drop-downlist, or operating a special icon, key or key sequence. The user may beallowed to select advanced options, such as rules for concatenation orcontent conversion, or whether cutting (e.g. source deletion) isperformed as well as copying on each subsequent selection operation.

Next, the user switches (85) to the first UI from which sourceinformation is to be transferred, navigates to the first source point,and highlights or selects (86) source content, which is thenautomatically copied into the transfer buffer and pasted (88) into thedesignated destination point(s) and area(s), without need to switch backto the destination UI. Additionally, the source reference information(54) for this transfer is recorded, such as the time and date of thetransfer, the user's identification, the author of the information, asource indicator such as a file name or web address, the destinationresource, and the publication date of the source information.

If (87) more source content is to be transferred, the user may continueto navigate to additional points and to select (86) additional contentfor automatic pasting into the destination resource from within thecurrent UI, or the user may switch (800, 801) to another UI and proceedwith selecting (86) for automatic pasting (88) into the destinationresource.

When (87) all source information has been copied, the collected sourcereference information (54) is made available to a reference notegenerator (802), and the information transfer operation is complete(89). The user now returns to the initial (e.g. destination) UI tocontinue editing or creating (21′) the computer resource.

Of course, as will be recognized by those skilled in the art, the use oftext as the content copied from a source to a destination in theforegoing examples is not meant to imply that the present invention islimited to such content types. In fact, it may be used to transfercontent of any format which is compatible with the transfer bufferimplementation. For example, video clips, graphics, hyperlinks, audioclips, and the like may be handled by the invention provided that thetransfer buffer is implemented in a manner compatible with storing suchinformation.

Turning now to FIG. 6, an illustration of our process (60) toautomatically refresh or update a composition with the most recentinformation from the sources of original information is shown. Anautomatic refresher (61) accesses the source reference informationrecords (54), then retrieves the latest available information from eachof those sources (e.g. from each quoted web page, file, etc.), andprovides them into an updated copy of the destination via the clipboardor transfer buffer. This can be accomplished through a number ofconventional means such as macro executions, dynamically generatedscripts, or embedding of OLE links into the source reference informationrecords.

As shown in FIG. 7, our process (70) for monitoring online learningexperiences is similar to the process of FIG. 6, with the exception thatthe captured and recorded source reference information (54) is renderedinto a human-readable form such as an email report (72) by a reportgenerator (71). For the previous example of Table 1, the report may looksomething like:

-   -   Online Learning Monitor Ver. 1.0    -   Student: Danny    -   Quoting and Copying Actions:        -   -copied “Qwerty utrew zxf′ from “www.123.com” on Apr. 15,            2003 at 18:36:03 into page 1, line 8, “my_essay.doc”    -   End of Report

This text report may be sent to an administrator using a method such asemail or facsimile, or may be stored for future retrieval and review bythe administrator such as in a text file or database. The monitoringfunction may be executed in the “foreground” with the possible knowledgeof the student, or may be executed in the background in a mannerconcealed from the student in order to survey the student's activitiesunknowingly. Optionally, an online learning administrator provided witha Graphical User Interface (“GUI”) through which he or she may viewmultiple reports for a single student, reports for a set of students,and enable sorting, filtering and perform searching againstinstitutional policies and rules to find violators. For example, usingsuch a GUI, an administrator may specify to search and sort on allstudents in a class who exceeded a maximum number of allowed linksvisited while completing their essay composition. In another example,the administrator may sort and filter all student reports to see whichstudents visited or used web sites and sources which were unrelated tothe course, or which were not approved for use.

Our logical process (90) of monitoring an online learning experience isshown in more detail in FIG. 9. This method may be implemented ascompiled code, scripts, or interpretable code (e.g. Java, applets,servlets, etc.) in full or part within application programs, operatingsystems, server suites, utility programs, or proprietary code orhardware.

While creating or editing information for an online learning exercisesuch as completing an essay or writing a composition document on acomputer, when a user wishes to insert or copy content from a sourcedestination to the resource being edited, the system executes ourprocess (90). The source or sources may include points and areas withinUI's of other programs and system functions, as well as within thedestination resource which is being created or edited.

Initially, the user may navigate (81) to a first insertion point andoptionally highlight an insertion area to designate a first “paste”destination while in the current (destination) UI. If (82) more than oneinsertion points or areas are desired, the user may navigate to andselect (83) additional destinations while still in the destination UI.Insertion points can be marked in a variety of ways, including placementof a graphical icon such as a caret (“{circumflex over ( )}”) at theinsertion point(s) or other suitable icon. Replacement destination areascan be marked in a variety of ways, including highlighting the selectedtext, graphics, information, or content in a special pattern, color, orboth, or by making special changes to the selected information itself(e.g. changing the text to a different color, underlining the text,etc.). Preferably, a user interface or dialog box is also provided toallow the user to manage destination insertion points and replacementareas, such as to create additional points and areas, and to removepoints and areas.

When all destination points and areas have been designated, the userenables (84) the automatic content transfer function of the inventionthrough an appropriate user control such as right-clicking with themouse to bring up a dialog box, selecting an option from a drop-downlist, or operating a special icon, key or key sequence. The user may beallowed to select advanced options, such as rules for concatenation orcontent conversion, or whether cutting (e.g. source deletion) isperformed as well as copying on each subsequent selection operation.

Next, the user switches (85) to the first UI from which sourceinformation is to be transferred, navigates to the first source point,and highlights or selects (86) source content, which is thenautomatically copied into the transfer buffer and pasted (88) into thedesignated destination point(s) and area(s), without need to switch backto the destination UI. Additionally, the source reference information(54) for this transfer is recorded, such as the time and date of thetransfer, the user's identification, the author of the information, asource indicator such as a file name or web address, the destinationresource, and the publication date of the source information.

If (87) more source content is to be transferred, the user may continueto navigate to additional points and to select (86) additional contentfor automatic pasting into the destination resource from within thecurrent UI, or the user may switch (800, 801) to another UI and proceedwith selecting (86) for automatic pasting (88) into the destinationresource.

When (87) all source information has been copied, the collected sourcereference information (54) is used to generate (91) a monitor reportsuch as a text file, print out, or email message. The user now returnsto the initial (e.g. destination) UI to continue editing or creating(21′) the computer resource.

As previously mentioned and as will be recognized by those skilled inthe art, the use of text as the content copied from a source to adestination in the foregoing examples is not meant to imply that thepresent invention is limited to such content types. In fact, it may beused to transfer content of any format which is compatible with thetransfer buffer implementation. For example, video clips, graphics,hyperlinks, audio clips, and the like may be handled by the inventionprovided that the transfer buffer is implemented in a manner compatiblewith storing such information.

In conclusion, the present invention may be realized in a varietyformats, programming languages, methodologies, and operating systems ona variety of computing platforms without departure from the spirit andscope of the present invention. Therefore, the scope of the presentinvention should be determined by the following claims.

1. A method for monitoring activities of a person transferring contentfrom one computer resource to another computer resource, comprising thesteps of: receiving from a user a first insertion point or replacementarea from a first user interface to a destination computer resource,said insertion point or replacement area being user-selected; providinga source user interface to a user-selected source computer resource uponuser command; receiving a user selection of content to be transferredfrom said source user interface to said first insertion point orreplacement area; automatically copying said selected content to atransfer buffer; capturing and recording one or more source referencedata items corresponding to said selected content; and automaticallygenerating a human-readable monitor report containing said recordedsource reference data items and an indicator of said an identity of saiduser.
 2. The method as set forth in claim 1 further comprising the stepof transmitting said monitor report to an online learning administrator.3. The method as set forth in claim 1 wherein said step of capturing andrecording one or more source reference data items is performed in amanner which is undetectable by said user.
 4. The method as set forth inclaim 1 wherein said step of recording one or more source reference dataitems comprises capturing a source identifier selected from the group ofa file name, a path name, a folder name, a server name, a UniformResource Locator, and a network address.
 5. The method as set forth inclaim 1 wherein said step of recording one or more source reference dataitems comprises capturing a system time, a system date, or both a systemtime and date.
 6. The method as set forth in claim 1 wherein said stepof recording one or more source reference data items comprises capturingan author identifier for said source information.
 7. The method as setforth in claim 1 wherein said step of recording one or more sourcereference data items comprises capturing a publication date for saidsource information.
 8. The method as set forth in claim 2 wherein saidstep of generating a human-readable monitor report comprises a stepselected from the group of creating an electronic mail message, creatinga text file, creating a binary data file, and printing a report on aprinter.
 9. The method as set forth in claim 1 further comprising thesteps of providing an administrator graphical user interface throughwhich an administrator may view stored monitor reports for one or morestudents.
 10. The method as set forth in claim 9 wherein said step ofproviding an administrator graphical user interface further comprisesproviding a user interface function selected from the group of a reportsorter, a report filter, and a report search function.
 11. The method asset forth in claim 10 wherein said step of providing a user interfacefunction comprises providing a user interface function criteriaspecifier selected from the group of a student's identification, a classof students, a maximum number of references consulted, a list of allowedreferences for consultation, and a list of disallowed references forconsultation.
 12. A computer readable medium encoded with software formonitoring activities of a person transferring content from one computerresource to another computer resource, said software performing thesteps of: receiving from a user a first insertion point or replacementarea from a first user interface to a destination computer resource,said insertion point or replacement area being user-selected; providinga source user interface to a user-selected source computer resource uponuser command; receiving a user selection of content to be transferredfrom said source user interface to said first insertion point orreplacement area; automatically copying said selected content to atransfer buffer; capturing and recording one or more source referencedata items corresponding to said selected content; and automaticallygenerating a human-readable monitor report containing said recordedsource reference data items and an indicator of said an identity of saiduser.
 13. The computer readable medium as set forth in claim 12 furthercomprising software for transmitting said monitor report to an onlinelearning administrator.
 14. The computer readable medium as set forth inclaim 12 further comprising software for capturing and recording one ormore source reference data items comprises software which isundetectable by said user when being executed.
 15. The computer readablemedium as set forth in claim 12 further comprising software forrecording one or more source reference data items comprises software forcapturing a source identifier selected from the group of a file name, apath name, a folder name, a server name, a Uniform Resource Locator, anda network address.
 16. The computer readable medium as set forth inclaim 12 further comprising software for recording one or more sourcereference data items comprises capturing a system time, a system date,or both a system time and date.
 17. The computer readable medium as setforth in claim 12 further comprising software for recording one or moresource reference data items comprises software for capturing an authoridentifier for said source information.
 18. The computer readable mediumas set forth in claim 12 further comprising software for recording oneor more source reference data items comprises software for capturing apublication date for said source information.
 19. The computer readablemedium as set forth in claim 13 further comprising software forgenerating a report selected from the group of an electronic mailmessage, a text file, a binary data file, and a printed report.
 20. Thecomputer readable medium as set forth in claim 12 further comprisingsoftware providing an administrator graphical user interface throughwhich an administrator may view stored monitor reports for one or morestudents.
 21. The computer readable medium as set forth in claim 20wherein said software for providing an administrator graphical userinterface further comprises software for providing a user interfacefunction selected from the group of a report sorter, a report filter,and a report search function.
 22. The computer readable medium as setforth in claim 21 wherein said software for providing a user interfacefunction comprises software for providing a user interface functioncriteria specifier selected from the group of a student'sidentification, a class of students, a maximum number of referencesconsulted, a list of allowed references for consultation, and a list ofdisallowed references for consultation.
 23. A system for monitoringactivities of a person transferring content from one computer resourceto another computer resource, the system comprising: a first insertionpoint or replacement area received from a first user interface to adestination computer resource, said insertion point or replacement areabeing user-selected; a source user interface to a source computerresource through which said user can manipulate said source computerresource; one or more user-selected information elements to betransferred from said source user interface to said first insertionpoint or replacement area; an automatic copier configured to copy saiduser-selected information elements to a transfer buffer; a sourcereference data item recorder configured to capture one or more sourcereference data items corresponding to said selected content uponoperation of said automatic copier; and a monitor report generatoradapted to automatically generate a human-readable monitor reportcontaining said recorded source reference data items and an indicator ofsaid an identity of said user.
 24. The system as set forth in claim 23further comprising a report transmitter adapted to transmit said monitorreport to an online learning administrator.
 25. The system as set forthin claim 23 wherein said source reference data item recorder isconfigured to capture and record one or more source reference data itemsin a manner which is undetectable by said user.
 26. The system as setforth in claim 23 wherein said source reference data item recorder isconfigured to capture a source identifier selected from the group of afile name, a path name, a folder name, a server name, a Uniform ResourceLocator, and a network address.
 27. The system as set forth in claim 23wherein said source reference data item recorder is configured tocapture a system time, a system date, or both a system time and a systemdate.
 28. The system as set forth in claim 23 wherein said sourcereference data item recorder is configured to capture an authoridentifier for said source information.
 29. The system as set forth inclaim 23 wherein said source reference data item recorder is configuredto capture a publication date for said source information.
 30. Thesystem as set forth in claim 29 wherein said monitor report generator isfurther configured to generate a report selected from the group of anelectronic mail message, a text file, a binary data file, and a reporton a printer.
 31. The system as set forth in claim 23 further comprisingan administrator graphical user interface through which an administratormay view stored monitor reports for one or more students.
 32. The systemas set forth in claim 31 wherein said administrator graphical userinterface further comprises a user interface function selected from thegroup of a report sorter, a report filter, and a report search function.33. The system as set forth in claim 32 wherein said user interfacefunction comprises a user interface function criteria specifier selectedfrom the group of a student's identification, a class of students, amaximum number of references consulted, a list of allowed references forconsultation, and a list of disallowed references for consultation.